package com.tedu.day02.oop;

/**
 * this关键字--super关键字--使用完全一致
 * 不需要继承--当前类，指代当前
 * 使用方式：调用当前类的属性，方法，构造器
 *         this.属性    【当前类的属性赋值】
 *                      出现方法中
 *                      区别当前类的属性与参数“名称”一致
 *
 *        this.方法
 *        this（）     多个有参构造器
 *        鄙视题：this跟super关键字区别？
 *              this 调用本类的属性 方法 构造器
 *              super 调用父类的属性 方法 构造器 存在继承关系 使用super
 *              this()与super（）
 *              this（） 调用本类的其他构造器--构造器首行
 *              super（） 调用父类的其他构造器-子类构造器运行
 *         this 与 super不能同时使用
 */
public class this关键字 {
    int i;   //属性--很少赋值【声明未赋值】--构造器或者方法中赋值
    int j;  //属性--很少赋值【声明未赋值】--构造器或者方法中赋值

    public this关键字(int i, int j) {
        this.i = i;
        this.j = j;
    }

    //构造器：有参     需求：创建1个参数对象，给i和j赋值【跟一样赋值】
    public this关键字(int i) {
        this.i = i;  //常见：this.属性【当前类下属性】=参数
                    //赋值：this.i=1
    }
    //方法--this.方法


    public void testI() {
        System.out.println("我是I");
    }

    public void testJ() {  //调取---输出：我是I 我是J
        this.testI();
        System.out.println("我是J");
    }

    public static void main(String[] args) {
     //   System.out.println(new this关键字(1).i);
     new this关键字(1).testJ();       //方法有输出语句

    }
}
